package com.yzq.common;

import lombok.Data;

import java.io.Serializable;

/**
 * 通用的请求包装类，支持分页、排序和查询条件
 */
@Data
public class RequestWrapper implements Serializable {
    /**
     * 页码，从1开始
     */
    private int pageNum = 1;

    /**
     * 每页大小，默认10
     */
    private int pageSize = 10;

    /**
     * 排序字段
     */
    private String sortField;

    /**
     * 排序方向，ASC 或 DESC
     */
    private String sortOrder = "ASC";

    /**
     * 获取分页偏移量
     */
    public int getOffset() {
        return (pageNum - 1) * pageSize;
    }

    /**
     * 判断是否需要排序
     */
    public boolean isSortEnabled() {
        return sortField != null && !sortField.trim().isEmpty();
    }
}
